package com.me.libgdx_test;

import java.util.ArrayList;

import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector3;

public class ClassHudWrapper {
	//This class needs to basically keep track of all the semi-static positions in the hud
	//I am tired of keeping track of all of them
	private ArrayList<ClassHudFit> hud_objects;
	private ArrayList<ClassHudText> hud_text;
	private ArrayList<ClassRectangle> rectangles;
	private Rectangle[] location_click_boxes;
	private Point screen_size, hud_size;
	private boolean details, info;
	private String path = "";
	private ClassCharacterPlayer player;
	
	ClassHudWrapper(Point screen_size, Point hud_size, boolean details, boolean info, ClassCharacterPlayer player){
		this.screen_size = new Point(screen_size);
		this.hud_size = new Point(hud_size);
		this.details = details;
		this.info = info;
		this.player = player;
		hud_objects = new ArrayList<ClassHudFit>();
		hud_text = new ArrayList<ClassHudText>();
		rectangles = new ArrayList<ClassRectangle>();
		location_click_boxes = new Rectangle[3];
		set_location_click_boxes();
	}
	
	public void set_location_click_boxes(){
		
		//Vector3 button_color = new Vector3(.44f,.682f,.361f);
		Point bar_left = new Point(3*hud_size.x/200,3*hud_size.y/100);
		Point bar_dimensions = new Point(31*hud_size.x/100,64*hud_size.y/100);
		int space = bar_dimensions.x + 2*hud_size.x/100;
			
		for(int i = 0; i < location_click_boxes.length;i++){
			location_click_boxes[i] = 
					new Rectangle(bar_left.x+space*i,bar_left.y,bar_dimensions.x,bar_dimensions.y);
			/*rectangles.add(new ClassRectangle(new Point(bar_left.x+space*i,bar_left.y),
					new Point(bar_dimensions.x,bar_dimensions.y),new Vector3(.37f,.19f,.50f)));*/
		}
		
		//Point bar_left = new Point(29*hud_size.x/78,hud_size.y/3-5*hud_size.y/20-hud_size.y/100);
		//Point bar_dimensions = new Point(hud_size.x/2+hud_size.x/10+hud_size.x/60,hud_size.y/15);
		//int space = hud_size.y/8+hud_size.y/150;
		
		/*
		 * new Vector3(.98f,.604f,.314f)
		 * new Vector3(.804f,.4f,.113f)
		 * new Vector3(1,.45f,.09f)
		 */
		
		//for(int i = 0; i < location_click_boxes.length;i++){
		//	location_click_boxes[location_click_boxes.length - i - 1] = 
		//			new Rectangle(bar_left.x,bar_left.y+space*i,bar_dimensions.x,bar_dimensions.y);
		//}
		
		/*if(details){
			ClassRectangle health = new ClassRectangle(new Point(bar_left.x,bar_left.y + space*2),
					new Point(bar_dimensions.x,bar_dimensions.y),new Vector3(.98f,.604f,.314f));
			rectangles.add(health);
			//ClassRectangle health = new ClassRectangle(new Point(rectangle_left.x,rectangle_left.y + space*2),new Point((int)(rectangle_dimensions.x * (player.health_left())),rectangle_dimensions.y),new Vector3(1,0,0));
			//mana
			ClassRectangle mana = new ClassRectangle(new Point(bar_left.x,bar_left.y + space),
					new Point(bar_dimensions.x,bar_dimensions.y),new Vector3(.804f,.4f,.113f));
			rectangles.add(mana);
			//exp
			ClassRectangle exp = new ClassRectangle(new Point(bar_left.x,bar_left.y),
					new Point(bar_dimensions.x,bar_dimensions.y),new Vector3(1,.45f,.09f));
			rectangles.add(exp);
		}*/
	}
	
	public int check_location(Point click){
		for(int i = 0; i < location_click_boxes.length; i++){
			if(location_click_boxes[i].contains(click.x, click.y)){
				return i;
			}
		}
		return -1;
	}
	
	public void merge_objects(ArrayList<ClassHudFit> hud_objects, ArrayList<ClassHudText> hud_text, ArrayList<ClassRectangle> rectangles){
		hud_objects.addAll(this.hud_objects);
		hud_text.addAll(this.hud_text);
		rectangles.addAll(this.rectangles);
	}
	
	public void set_details_picture(ClassCharacterEnemy enemy){
		
	}
	
	public void set_details_picture_nonenemy(String object_picture, String name, String description, String button_text){
		
	}
	
	public void set_enterable_icon(ClassHudFit icon, ClassHudText text1, ClassHudText text2){
		if(!details){
			hud_objects.add(icon);
			hud_text.add(text1);
			//hud_text.add(text2);
		}
	}
	
	public ClassRectangle add_player_info_button(){
		Vector3 button_frame_color = new Vector3(1,1,1);
		//Yellowish
		//Vector3 button_color = new Vector3(.5f,.5f,0);
		//Greenish
		Vector3 button_color = new Vector3(.33f,.41f,.18f);
		//Background Color
		//Vector3 button_color = new Vector3(.34f,.34f,.34f);
		
		final Point trash_click_location = new Point(17*hud_size.x/100,51*hud_size.y/100);
		final Point trash_click_dimensions = new Point(14*hud_size.x/100,19*hud_size.y/100);
		
		ClassRectangle rect_holder = new ClassRectangle(trash_click_location,trash_click_dimensions,button_frame_color);
		rectangles.add(rect_holder);
		
		final Point trash_frame_location = new Point(18*hud_size.x/100,52*hud_size.y/100);
		final Point trash_frame_dimensions = new Point(12*hud_size.x/100,17*hud_size.y/100);
		
		ClassRectangle frame_rect_holder = new ClassRectangle(trash_frame_location,trash_frame_dimensions,button_color);
		rectangles.add(frame_rect_holder);
		
		final Point centering_point = new Point(6*hud_size.x/100,15*hud_size.y/100);
		
		final Point shop_button_text = new Point(centering_point.x + trash_click_location.x,
				centering_point.y + trash_click_location.y);
		hud_text.add(new ClassHudText(shop_button_text,"Info",16));
		
		return new ClassRectangle(new Point(trash_click_location.x,trash_click_location.y),
				new Point(trash_click_dimensions.x,trash_click_dimensions.y), button_color);
	}
	
	public ClassRectangle add_spell_trash_button(){
		Vector3 button_frame_color = new Vector3(1,1,1);
		//Yellowish
		//Vector3 button_color = new Vector3(.5f,.5f,0);
		//Greenish
		Vector3 button_color = new Vector3(.33f,.41f,.18f);
		//Background Color
		//Vector3 button_color = new Vector3(.34f,.34f,.34f);
		
		final Point trash_click_location = new Point(85*hud_size.x/100,43*hud_size.y/100);
		final Point trash_click_dimensions = new Point(13*hud_size.x/100,20*hud_size.y/100);
		
		ClassRectangle rect_holder = new ClassRectangle(trash_click_location,trash_click_dimensions,button_frame_color);
		rectangles.add(rect_holder);
		
		final Point trash_frame_location = new Point(86*hud_size.x/100,44*hud_size.y/100);
		final Point trash_frame_dimensions = new Point(11*hud_size.x/100,18*hud_size.y/100);
		
		ClassRectangle frame_rect_holder = new ClassRectangle(trash_frame_location,trash_frame_dimensions,button_color);
		rectangles.add(frame_rect_holder);
		
		final Point centering_point = new Point(2*hud_size.x/100,15*hud_size.y/100);
		
		final Point shop_button_text = new Point(centering_point.x + trash_click_location.x,
				centering_point.y + trash_click_location.y);
		hud_text.add(new ClassHudText(shop_button_text,"Trash Spell",16));
		
		return new ClassRectangle(new Point(trash_click_location.x,trash_click_location.y),
				new Point(trash_click_dimensions.x,trash_click_dimensions.y), button_color);
	}
	
	public Rectangle add_enter_button(boolean shop_used, boolean altar, ClassObjectGodDungeon already_worshipping, ClassObjectGodDungeon standing_god){
		if(!details && !shop_used){
			
			Vector3 button_frame_color = new Vector3(1,1,1);
			//Yellowish
			//Vector3 button_color = new Vector3(.5f,.5f,0);
			//Greenish
			Vector3 button_color = new Vector3(.33f,.41f,.18f);
			//Background Color
			//Vector3 button_color = new Vector3(.34f,.34f,.34f);
			
			final Point shop_click_location = new Point(50*hud_size.x/100,18*hud_size.y/35);
			final Point shop_click_dimensions = new Point(17*hud_size.x/100,20*hud_size.y/100);
			
			ClassRectangle rect_holder = new ClassRectangle(shop_click_location,shop_click_dimensions,button_frame_color);
			rectangles.add(rect_holder);
			
			final Point frame_location = new Point(101*hud_size.x/200,19*hud_size.y/35);
			final Point frame_dimensions = new Point(32*hud_size.x/200,32*hud_size.y/200);
			
			ClassRectangle frame_rect_holder = new ClassRectangle(frame_location,frame_dimensions,button_color);
			rectangles.add(frame_rect_holder);
			
			final Point centering_point = new Point(6*hud_size.x/100,15*hud_size.y/100);
			
			final Point shop_button_text = new Point(centering_point.x + shop_click_location.x,
					centering_point.y + shop_click_location.y);
			hud_text.add(new ClassHudText(shop_button_text,"Enter",16));
			
			return new Rectangle(shop_click_location.x,shop_click_location.y,shop_click_dimensions.x,shop_click_dimensions.y);
		}
		/*if(!details && !shop_used){
			Vector3 button_color = new Vector3(1f,0,0);
			Point info_gold_picture = new Point(hud_size.x/2,18*hud_size.y/35);
			final Point shop_click_location = new Point(info_gold_picture.x + hud_size.x/12,info_gold_picture.y - hud_size.y/40);
			final Point shop_click_dimensions = new Point(hud_size.x/18,3* hud_size.y/24);
			ClassRectangle rect_holder = new ClassRectangle(shop_click_location,shop_click_dimensions,button_color);
			rectangles.add(rect_holder);
			final Point shop_button_text = new Point(shop_click_location.x+ hud_size.x/80,shop_click_location.y+hud_size.y/11);
			hud_text.add(new ClassHudText(shop_button_text,"Closed",9));
		}*/
		if(!info && details && altar && already_worshipping == null){
			
			Point bar_left = new Point(3*hud_size.x/200,3*hud_size.y/100);
			Point bar_dimensions = new Point(31*hud_size.x/100,94*hud_size.y/100);
			int space = bar_dimensions.x + 2*hud_size.x/100;
			Point second_line_margins = new Point(-hud_size.x/10,-15*hud_size.y/100);
			
			Point left_bar_picture_text = new Point(bar_left.x*9,bar_dimensions.y-bar_left.y*16);
			hud_text.add(new ClassHudText(left_bar_picture_text,"Blessing",20));
			Point left_bar_picture_text_bottom = new Point(left_bar_picture_text);
			left_bar_picture_text_bottom.add(second_line_margins);
			hud_text.add(new ClassHudText(left_bar_picture_text_bottom,standing_god.get_god_info().ritual_description[0],20));
			
			Point middle_bar_picture_text = new Point(bar_left.x*9+space,bar_dimensions.y-bar_left.y*16);
			hud_text.add(new ClassHudText(middle_bar_picture_text,"Worship",20));
			
			Point right_bar_picture_text = new Point(bar_left.x*9+space*2,bar_dimensions.y-bar_left.y*16);
			hud_text.add(new ClassHudText(right_bar_picture_text,"Curse",20));
			Point right_bar_picture_text_bottom = new Point(right_bar_picture_text);
			right_bar_picture_text_bottom.add(second_line_margins);
			hud_text.add(new ClassHudText(right_bar_picture_text_bottom,standing_god.get_god_info().ritual_description[1],20));
			
			return new Rectangle(bar_left.x+space,bar_left.y,bar_dimensions.x,bar_dimensions.y);
		}else if(!info && details && altar && already_worshipping != null && !already_worshipping.worshipping){
			
			Point bar_left = new Point(3*hud_size.x/200,3*hud_size.y/100);
			Point bar_dimensions = new Point(31*hud_size.x/100,94*hud_size.y/100);
			int space = bar_dimensions.x + 2*hud_size.x/100;
			
			Point top_bar_picture_text = new Point(bar_left.x*7+space,bar_dimensions.y-bar_left.y*14);
			hud_text.add(new ClassHudText(top_bar_picture_text,"God Shunned",20));
			
			return new Rectangle(bar_left.x+space,bar_left.y,bar_dimensions.x,bar_dimensions.y);
		}
		return new Rectangle();
	}
	
	public void set_player_mods(ArrayList<ClassHudFit> wrapper_hud_objects){
		if(!details){
			hud_objects.addAll(wrapper_hud_objects);
		}
	}
	
	public void set_player_text(ArrayList<ClassHudText> player_text){
		if(!details){
			hud_text.addAll(player_text);
		}
	}
	
	//This is for tha detail text at the top for the hud
	public void set_detail_banner(String gold_image, String piety_image, String location_name, String location_description, boolean altar_woshipping, boolean is_altar){
		if(details){
			
			Point bar_left = new Point(3*hud_size.x/200,70*hud_size.y/100);
			Point bar_dimensions = new Point(96*hud_size.x/100,27*hud_size.y/100);
			int middle_y_text = 2*bar_dimensions.y/3 + bar_left.y;
			int middle_y_picture = 80*middle_y_text/100;
			
			int space_x = 0;
			
			ClassHudFit gold_icon = new ClassHudFit();
			ClassHudFit piety_icon = new ClassHudFit();
			
			//Point point_player_picture = new Point(hud_size.x/20+hud_size.x/120,hud_size.y/3 + hud_size.y/6 + hud_size.y/35);
			Point size_player_picture = new Point(screen_size.x/16,screen_size.y/16);
			
			gold_icon.image = path + gold_image;
			gold_icon.bottom_left = new Point(bar_left.x * 2,middle_y_picture);
			gold_icon.dimensions = new Point(size_player_picture);
			hud_objects.add(gold_icon);
			
			space_x += gold_icon.bottom_left.x + gold_icon.dimensions.x;
			
			Point gold_item = new Point(space_x, middle_y_text);
			ClassHudText gold_text = new ClassHudText(gold_item,String.valueOf(player.get_player_variable("gold")),14);
			hud_text.add(gold_text);
			
			space_x += gold_icon.bottom_left.x;
			
			piety_icon.image = path + piety_image;
			piety_icon.bottom_left = new Point(space_x,middle_y_picture);
			piety_icon.dimensions = new Point(size_player_picture);
			hud_objects.add(piety_icon);
			
			space_x += gold_icon.bottom_left.x + gold_icon.dimensions.x;
			
			Point piety_item = new Point(space_x, middle_y_text);
			ClassHudText piety_text = new ClassHudText(piety_item,String.valueOf(player.get_player_variable("piety")),14);
			hud_text.add(piety_text);
			
			space_x += gold_icon.bottom_left.x*3;
			
			Point name_item = new Point(space_x, middle_y_text);
			ClassHudText name_text = new ClassHudText(name_item,location_name + " - " + location_description,14);
			hud_text.add(name_text);
		}
	}
	
	public void fill_bucket(String[] bucket, int x_space){
		
		//We can fit 6 lines in each bucket. If the bucket is filled we create a new column
		Point bar_left = new Point(3*hud_size.x/200,3*hud_size.y/100);
		Point bar_dimensions = new Point(31*hud_size.x/100,68*hud_size.y/100);
		int line_break = 10*hud_size.y/100;
		int column_mod = bar_dimensions.x/2;
		int current_line = 0;
		int current_column = 0;
		int count = 0;
		for(String water:bucket){
			if(count>5){
				count = 0;
				current_column += column_mod;
				current_line = 0;
			}
			Point top_bar_item = new Point(bar_left.x*2+current_column,bar_dimensions.y-bar_left.y*2 + current_line);
			top_bar_item.add(x_space, 0);
			hud_text.add(new ClassHudText(top_bar_item,water,14));
			current_line-=line_break;
			count++;
		}
		
	}
	
	public void set_info_asset(String[] left_bucket, String[] middle_bucket, String[] right_bucket){
		Point bar_dimensions = new Point(31*hud_size.x/100,64*hud_size.y/100);
		int space = bar_dimensions.x + 2*hud_size.x/100;
		
		fill_bucket(left_bucket,0);
		fill_bucket(middle_bucket,space);
		fill_bucket(right_bucket,space*2);
	}
	
	public void set_detail_assets(int position, String picture, String cost_number, String name, 
			String description, boolean altar_woshipping, boolean is_altar){
		if (!details){
			
		}else{	
			Vector3 button_color = new Vector3(.44f,.682f,.361f);
			Point bar_left = new Point(3*hud_size.x/200,3*hud_size.y/100);
			Point bar_dimensions = new Point(31*hud_size.x/100,64*hud_size.y/100);
			int space = bar_dimensions.x + 2*hud_size.x/100;
			
			if(altar_woshipping){
				
				/*ClassRectangle rect_holder = new ClassRectangle(new Point(bar_left.x+space*(position-1),bar_left.y),
						bar_dimensions,button_color);
				rectangles.add(rect_holder);*/
				
				int move_increment = space*(position-1);
				
				Point top_bar_item = new Point(bar_left.x*2,bar_dimensions.y-bar_left.y*2);
				Point top_bar_item_description = new Point(bar_left.x*2,bar_dimensions.y-bar_left.y*8);
				Point top_bar_picture_text = new Point(bar_left.x*2,bar_dimensions.y-bar_left.y*14);
				
				top_bar_item_description.add(move_increment, 0);
				top_bar_picture_text.add(move_increment, 0);
				top_bar_item.add(move_increment, 0);
				
				if(is_altar){
					hud_text.add(new ClassHudText(top_bar_item_description,String.valueOf(description),14));
					hud_text.add(new ClassHudText(top_bar_item,String.valueOf(name),14));
					hud_text.add(new ClassHudText(top_bar_picture_text,"Piety Cost: " + String.valueOf(Integer.valueOf(cost_number)*10),14));
				}else{
					hud_text.add(new ClassHudText(top_bar_item_description,String.valueOf(description),14));
					hud_text.add(new ClassHudText(top_bar_item,String.valueOf(name),14));
					hud_text.add(new ClassHudText(top_bar_picture_text,"Gold Cost: " + String.valueOf(cost_number),14));
				}
				
			}else{
				int move_increment = space*(position-1);
				Point top_bar_picture_text = new Point(bar_left.x*8,bar_dimensions.y-bar_left.y*14);
				top_bar_picture_text.add(move_increment, 0);
				if(is_altar){
					//hud_text.add(new ClassHudText(top_bar_picture_text,"Blessing Hidden",20));
				}else{
					//hud_text.add(new ClassHudText(top_bar_picture_text,"Sold Out",20));
				}
			}
		}
	}
	
	public ClassRectangle set_main_picture(){
		if(!details){
			ClassHudFit player_icon = new ClassHudFit();
			ClassHudFit player_level = new ClassHudFit();
			
			Point point_player_picture = new Point(9*hud_size.x/200,hud_size.y/3 + hud_size.y/6 + hud_size.y/35);
			Point size_player_picture = new Point(hud_size.x/10,4*hud_size.y/10);
			
			player_icon.image = path + player.player_class_info.Image;
			player_icon.bottom_left = new Point(point_player_picture);
			player_icon.dimensions = new Point(size_player_picture);
			hud_objects.add(player_icon);
			
			if (this.player.level<10){
				player_level.image = path + "number_0" + this.player.level + ".png";
			}else{
				player_level.image = path + "number_" + this.player.level + ".png";
			}
			player_level.bottom_left = new Point(point_player_picture);
			player_level.dimensions = new Point(size_player_picture.x/2,size_player_picture.y/2);
			hud_objects.add(player_level);
			
			return add_player_info_button();
		}
		return new ClassRectangle(new Point(0,0), new Point(0,0), new Vector3(0,0,0));
	}
	
	public void set_player_description(){
		
		
	}
	
	public void set_player_action_bars(ClassCursorAt cursor, int spell_index){
		Point bar_left = new Point(29*hud_size.x/78,hud_size.y/3-5*hud_size.y/20);
		Point bar_dimensions = new Point(hud_size.x/3-hud_size.x/42,hud_size.y/15);
		int space = hud_size.y/8;
		
		if(!details){
			 //Colors that didnt work out...
			 // new Vector3(.98f,.604f,.314f)
			 // new Vector3(.804f,.4f,.113f)
			 // new Vector3(1,.45f,.09f)
			
			//health
			rectangles.add(new ClassRectangle(new Point(bar_left.x,bar_left.y + space*2),
					new Point((int)(bar_dimensions.x * (this.player.health_left())),
							bar_dimensions.y),new Vector3(.37f,.19f,.50f)));
			ClassRectangle health = new ClassRectangle(new Point(bar_left.x,bar_left.y + space*2),
					new Point((int)(bar_dimensions.x * (this.player.health_left())),
							bar_dimensions.y),new Vector3(1,0,0));
			//mana
			rectangles.add(new ClassRectangle(new Point(bar_left.x,bar_left.y + space+1),
					new Point((int)(bar_dimensions.x * (this.player.return_mana_stored())),
							bar_dimensions.y),new Vector3(.804f,.4f,.113f)));
			ClassRectangle mana = new ClassRectangle(new Point(bar_left.x,bar_left.y + space+1),
					new Point((int)(bar_dimensions.x * (this.player.return_mana_stored())),
							bar_dimensions.y),new Vector3(0,0,1));
			//exp
			ClassRectangle exp = new ClassRectangle(new Point(bar_left.x,bar_left.y + 1),
					new Point((int)(bar_dimensions.x * (this.player.return_levelup_progress())),
							bar_dimensions.y),new Vector3(0,1,0));
			rectangles.add(exp);
			
			if(spell_index != -1){
				ClassLogDisplay.print("Spell Selected!");
				
				float spell_cost = player.get_spells()[spell_index].get_spell_cost(player);
				float current_mana = (float) player.get_player_variable("current_mana");
				float total_mana = (float) player.get_player_variable("max_mana");
				
				if(spell_cost<=current_mana){
					mana.dimension.x = (int)((float) bar_dimensions.x * ((current_mana-spell_cost)/total_mana));
					if(current_mana-spell_cost>0){
						ClassLogDisplay.print("Printing Rectangle");
						rectangles.add(mana);
					}
				}else{
					rectangles.add(mana);
				}
			}else{
				ClassLogDisplay.print("No Spell Selected!");
				rectangles.add(mana);
			}
			
			//The player is about to attack an enemy
			if (cursor.get_object_type() == 1){
				
				float hurt = (float)player.predict_attack_player(cursor.enemy);
				float total = (float)this.player.get_max_health();
				
				//Hurt is the predicted ending health
				ClassLogDisplay.print("Predicted Ending Health: " + hurt);
				ClassLogDisplay.print("Total Health: " + total);
				ClassLogDisplay.print("Remainder: " + hurt/total);
				ClassLogDisplay.print("Remainder Dimensions: " + (bar_dimensions.x * (hurt/total)));
				
				if(hurt > 0){
					health.dimension.x = (int)((float) bar_dimensions.x * (hurt/total));
					//Find difference between 
					//predict_attack_player(enemy)
					rectangles.add(health);
					
				}
			//The player isnt attacking an enemy
			}else{
				/*
				for(Vector3 change:player.get_hud_animations()){
					if(change.x == 0 && change.z != 0){
						rectangles.add(new ClassRectangle(new Point(bar_left.x,bar_left.y + space*2),
								new Point((int)(bar_dimensions.x * (this.player.health_left())),
										bar_dimensions.y),new Vector3(.37f,.19f,.50f)));
						ClassRectangle health = new ClassRectangle(new Point(bar_left.x,bar_left.y + space*2),
								new Point((int)(bar_dimensions.x * (this.player.health_left())),
										bar_dimensions.y),new Vector3(1,0,0));
						change.z--;
						if(change.z<=0){
							player.get_hud_animations().remove(change);
						}
					}
				}
				*/
				rectangles.add(health);
			}
			
			final Point info_text_player_health = new Point(health.edge.x + bar_dimensions.x/6 + hud_size.x/12,health.dimension.y + health.edge.y);
			final Point info_text_player_mana = new Point(mana.edge.x + bar_dimensions.x/6 + hud_size.x/12,mana.dimension.y + mana.edge.y);
			final Point info_text_player_exp = new Point(exp.edge.x + bar_dimensions.x/6 + hud_size.x/12,exp.dimension.y + exp.edge.y);
			
			hud_text.add(new ClassHudText(info_text_player_health,this.player.get_health_ratio(),12));
			hud_text.add(new ClassHudText(info_text_player_mana,String.valueOf(this.player.get_player_variable("current_mana"))+"/"+String.valueOf(this.player.get_player_variable("max_mana")),12));
			hud_text.add(new ClassHudText(info_text_player_exp,String.valueOf(this.player.return_levelup_exp())+"/"+String.valueOf(this.player.get_player_variable("level")*5),12));
			
		}
	}

}
